何不做一个既专业又潇洒的程序员?| 码云封面人物第 6 期
本期嘉宾:吴晟,分布式追踪与诊断技术专家,骨灰级开源社区爱好者,开源 APM 项目 SkyWalking 创始人。
SkyWalking 成长迅速,2017 年底全票通过加入了 Apache 孵化器。做开源项目并且取得这样的成绩,当然是很酷啦!可是,在加班泛滥的程序员界,到底要怎么做到啊?发型还好吗?
可他不仅工作 666,还有丰富多彩的业余生活(比如陪老婆逛街旅游什么的…),简直是工作生活平衡的典范!做到这样看似“毫不费力”,秘密就是…
Q
A
码云
运营部某
不知名编辑
吴晟
开源界某
佛性程序员
正经篇
壹
Q
起初是怎么想到做 SkyWalking 这样一个项目?
A:项目是2015年初开始的,最初是为了给一个新员工培训编程,想要通过实际做项目的方式,去帮助对方提高开发技能。
项目一开始就托管到 GitHub上(后来发现码云也非常棒,就来了),代码是公开的,希望以此勉励参与者能认真写好代码。大家从提交记录,也能看到当初很初级的项目原型和技术验证。
Q
这……真的很意外,那为什么会选择做一个 APM 项目呢?
A:做这个项目,还有一个背景就是在 2014-2015 年参与了中国联通全国级项目,首次引入分布式服务(以Dubbo为技术代表,当时还没有微服务的概念)和消息驱动的系统架构,想要解决多厂商多应用间的问题定位、效率短板分析出现定位难的问题。
Q
作为创始人,您个人对 SkyWalking 的贡献大概占多大比重 ?
A:最初阶段个人投入比较多,基本超过 50%,后面就主要靠社区的力量了。这样复杂的项目(有企业以此为生),已经不太可能由个人完成了。
目前阶段,大概占 30% 的贡献量吧,如果只算代码,可能更少一些,20%左右。现在主要负责项目路径的规划和社区推广,核心协议以及设计模式的讨论,还有就是代码贡献和 Pull Request 的 Review。
Q
目前国内大多数的开源项目可能还是主要依靠创建者个人维护,是什么促使您选择社区化运作?
A:也是机缘吧,在项目早期,我进入 OpenTracing 标准化团队,认识了 OpenZipkin, Jeager, Google OpenCensus 等多个国际大开源项目的 Team Leader,他们开放和共享的工作态度与方式,给我了很深的印象,也帮助我学习了很多对待社区问题的方法。
Q
在与国外开源项目团队接触的过程中,您有什么启发吗?
A:除了对于团队运营的学习,再就是认识到了中国的开源社区还存在很多不足,我们也希望从 SkyWalking 的发展中,产生一些积极的影响,这也是 SkyWalking 在尝试以社区化的方式运行的根本原因和动力。
Q
开源项目的持续维护似乎是个普遍难题,毕竟国内的开发者工作强度都挺高的,SkyWalking 成长速度这么快,会占用很多私人时间和精力吗 ?
A:我一直会保留一部分精力来做开源,也作为自己换工作的一个前提条件。
现在中国公司对于开源在逐步重视和认可,我一般有 40% 的工作时间在投入开源,还有部分周末以及晚上的时间。
SkyWalking 的很多设计和方向,都是在非工作时间和其他 PMC 成员和社区成员讨论出来的。
Q
APM 类的产品挺适合走商业化道路的,SkyWalking 性能这么好,为什么会选择开源呢?
A:因为 SkyWalking 就是由社区推动的项目,大量的基础社区反馈,国外社区的模型和理论共享,用户压力测试回馈,才造就了今天的设计和性能。
所以可以说,没有开源社区的共同推进,就不会有今天 SkyWalking 的核心和高性能。
Q
SkyWalking 社区运作得这么好,可以分享一些经验吗?
A:主要建立开源+商业产品技术圈,打消开源产品作者之间是竞争关系,关注差异化,尊重差异化。
大家互相学习,互相支持,是成长的关键。
比如曾经作为 Zipkin 开创的 Distributed Tracing Workshop 受邀的中国成员,开展国际技术社区的交流;参加了国内 Deep Communication Institute 社区举办的 2 次线下 APM Workshop,交流大家在APM上的建设经验。都是非常好的交流体验,受益很多。
Q
参与这样的技术交流活动,最大的感受和收获是什么?
A:更多的收获是不同的设计理念和功能诉求。这个交流的过程中,可以了解到很多的不同使用场景,以及不同的设计目的。比如:APM 性能就不是每个 APM 建设过程中的关键指标;采样对于有的系统的监控是不可接受的;优先网络还是优先文件系统等等。
Q
在个人职业发展方面,您是更倾向于专精技术还是转型管理?
A:觉得自己并不是一个完全的管理者角色,我一直非常喜欢和大家深入研究问题,是保持开放态度的人。
工作这些年,很少带领超过 8 个人的大型团队,但是我曾经作为技术顾问同时出现在多个项目组中,帮助他们解决问题。这就需要尊重对方的技术现状,人员情况,其实和在开源社区中保持中立,积极和大家交流,是一样的心态。
Q
SkyWalking 给您带来的最大的收获是什么?
A:应该是成就感和知名度吧。如果你的项目做得好,还可以磨练自己的技术,对代码和对产品的更加执着,苛求细节,强调逻辑,业务能力方面会有较大的提升。
我想每一个深度参与者,都有不同的收获。首先自己的社交圈子扩大了,国内外技术圈、媒体、其他领域专家等都有机会接触到,沟通能力、甚至英语能力都有长进,彻底从一个技术人员(宅人),变成一个擅长沟通、演讲,(亦或忽悠?)的产品经理兼售前兼自动化测试兼写手? 对,你会在各方面得到训练,最终会收获更多的自信心。
Q
对职业发展产生了什么影响 ?
A:技术地位的确可以改变收入,哈哈,原谅我是个俗人。
当然最重要的还是收获了志同道合的团队和技术宅们,也有了更好的公司和团队支持你,这种财富是不可替代的。
贰
八卦篇
Q
加班多吗?
A:指派性的加班很少,但是我不上班的时间很多也在思考和讨论方案。我的工作时间其实是比较碎片化的状态,并不会严格区分是休息还是工作。比如出国旅游、周末休息,我也会时不时回复社区邮件和其他人的问题。
Q
觉得自己是不是特别有规划的自律型选手?
A:规划不多,随心意的多吧。自律倒是还不错。
Q
有什么业余爱好 ?
A:汽车,奢侈品,陪老婆逛街,出去旅游。全是费钱的活动…
Q
旅行最喜欢哪里?
A:西方发达国家自驾游。喜欢环境比较现代,舒适的地方。
Q
工作生活平衡的典范,事业家庭都666,怎么做到的呢?
A:平衡的话,其实更多的是没把工作当任务吧,不要害怕工作和生活其实交错在一起。放松心情就好好玩,有事情就专心做(比如这个采访就是在玩了一天的周六晚上23:00的回复,但是并不会觉得是任务)。
Q
声音这么好听,是不是很喜欢唱歌?要不要来一首?
A:一个被程序员耽误的播音员么?哈哈,这是一个永恒的话题,被无数人问起过。
唱歌就算了,不会呀 :(
Q
2018年最大的心愿是什么?
A:没有特别的心愿哈,去年已经剁手买了台自己喜欢的车,so...今年只剩下穷了……
编后记:
理性、认真、心态开放,是小编对吴晟的访谈印象——果然是一枚“骨灰级开源社区爱好者”。正如吴晟所言,没有哪种方案是完美无缺或一无是处的,都是一个持续成长的过程,不如以开放、共享的态度和工作方式,认可同行者,认可其他项目能力,并和他们保持合作。
分享、交流、取长补短,碰撞思维火花、通过有序协作一起完成更精彩的作品,正是开源社区的魅力所在。
而健康的开源生态,需要无数个“你”的积极参与和推动,我们在分析码云2017年的数据时,惊喜地发现参与和贡献开源的用户增长显著。新年伊始,期待有更多的“你”在码云分享和交流,收获精彩的 2018 :)
封面人物小档案
人物:吴晟
技能:Java,C#(遗忘中 =.=!)
码龄:15年
最爱的开源项目:无
技术界的偶像:不搞个人崇拜
最爱的电子产品:曾经是 Apple 家族粉,不过最近没什么好玩的了
爱好:车/自驾(理想之车:奔驰 G500 + 保时捷 718s),旅游
点击下方“阅读原文”即可获得更多封面人物相关信息